.flex-column,
.flex-row {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.flex-column:before,
.flex-row:before,
.flex-column:after,
.flex-row:after {
  content: " ";
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  box-sizing: border-box;
  width: 0;
  height: 0;
  font-size: 0;
}
.flex-column:after,
.flex-row:after {
  clear: both;
}
.flex-column {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
}
.flex-row {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
.flex-around {
  -webkit-justify-content: space-around;
      -ms-flex-pack: distribute;
          justify-content: space-around;
}
.flex-between {
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.flex-baseline {
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}
.flex-strech {
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
.flex-item {
  float: left;
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.flex-item-1 {
  float: left;
  width: 4.16666667%;
}
.flex-offset-1 {
  margin-left: 4.16666667%;
}
.flex-order-1 {
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
}
.flex-item-2 {
  float: left;
  width: 8.33333333%;
}
.flex-offset-2 {
  margin-left: 8.33333333%;
}
.flex-order-2 {
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
}
.flex-item-3 {
  float: left;
  width: 12.5%;
}
.flex-offset-3 {
  margin-left: 12.5%;
}
.flex-order-3 {
  -webkit-box-ordinal-group: 4;
  -webkit-order: 3;
      -ms-flex-order: 3;
          order: 3;
}
.flex-item-4 {
  float: left;
  width: 16.66666667%;
}
.flex-offset-4 {
  margin-left: 16.66666667%;
}
.flex-order-4 {
  -webkit-box-ordinal-group: 5;
  -webkit-order: 4;
      -ms-flex-order: 4;
          order: 4;
}
.flex-item-5 {
  float: left;
  width: 20.83333333%;
}
.flex-offset-5 {
  margin-left: 20.83333333%;
}
.flex-order-5 {
  -webkit-box-ordinal-group: 6;
  -webkit-order: 5;
      -ms-flex-order: 5;
          order: 5;
}
.flex-item-6 {
  float: left;
  width: 25%;
}
.flex-offset-6 {
  margin-left: 25%;
}
.flex-order-6 {
  -webkit-box-ordinal-group: 7;
  -webkit-order: 6;
      -ms-flex-order: 6;
          order: 6;
}
.flex-item-7 {
  float: left;
  width: 29.16666667%;
}
.flex-offset-7 {
  margin-left: 29.16666667%;
}
.flex-order-7 {
  -webkit-box-ordinal-group: 8;
  -webkit-order: 7;
      -ms-flex-order: 7;
          order: 7;
}
.flex-item-8 {
  float: left;
  width: 33.33333333%;
}
.flex-offset-8 {
  margin-left: 33.33333333%;
}
.flex-order-8 {
  -webkit-box-ordinal-group: 9;
  -webkit-order: 8;
      -ms-flex-order: 8;
          order: 8;
}
.flex-item-9 {
  float: left;
  width: 37.5%;
}
.flex-offset-9 {
  margin-left: 37.5%;
}
.flex-order-9 {
  -webkit-box-ordinal-group: 10;
  -webkit-order: 9;
      -ms-flex-order: 9;
          order: 9;
}
.flex-item-10 {
  float: left;
  width: 41.66666667%;
}
.flex-offset-10 {
  margin-left: 41.66666667%;
}
.flex-order-10 {
  -webkit-box-ordinal-group: 11;
  -webkit-order: 10;
      -ms-flex-order: 10;
          order: 10;
}
.flex-item-11 {
  float: left;
  width: 45.83333333%;
}
.flex-offset-11 {
  margin-left: 45.83333333%;
}
.flex-order-11 {
  -webkit-box-ordinal-group: 12;
  -webkit-order: 11;
      -ms-flex-order: 11;
          order: 11;
}
.flex-item-12 {
  float: left;
  width: 50%;
}
.flex-offset-12 {
  margin-left: 50%;
}
.flex-order-12 {
  -webkit-box-ordinal-group: 13;
  -webkit-order: 12;
      -ms-flex-order: 12;
          order: 12;
}
.flex-item-13 {
  float: left;
  width: 54.16666667%;
}
.flex-offset-13 {
  margin-left: 54.16666667%;
}
.flex-order-13 {
  -webkit-box-ordinal-group: 14;
  -webkit-order: 13;
      -ms-flex-order: 13;
          order: 13;
}
.flex-item-14 {
  float: left;
  width: 58.33333333%;
}
.flex-offset-14 {
  margin-left: 58.33333333%;
}
.flex-order-14 {
  -webkit-box-ordinal-group: 15;
  -webkit-order: 14;
      -ms-flex-order: 14;
          order: 14;
}
.flex-item-15 {
  float: left;
  width: 62.5%;
}
.flex-offset-15 {
  margin-left: 62.5%;
}
.flex-order-15 {
  -webkit-box-ordinal-group: 16;
  -webkit-order: 15;
      -ms-flex-order: 15;
          order: 15;
}
.flex-item-16 {
  float: left;
  width: 66.66666667%;
}
.flex-offset-16 {
  margin-left: 66.66666667%;
}
.flex-order-16 {
  -webkit-box-ordinal-group: 17;
  -webkit-order: 16;
      -ms-flex-order: 16;
          order: 16;
}
.flex-item-17 {
  float: left;
  width: 70.83333333%;
}
.flex-offset-17 {
  margin-left: 70.83333333%;
}
.flex-order-17 {
  -webkit-box-ordinal-group: 18;
  -webkit-order: 17;
      -ms-flex-order: 17;
          order: 17;
}
.flex-item-18 {
  float: left;
  width: 75%;
}
.flex-offset-18 {
  margin-left: 75%;
}
.flex-order-18 {
  -webkit-box-ordinal-group: 19;
  -webkit-order: 18;
      -ms-flex-order: 18;
          order: 18;
}
.flex-item-19 {
  float: left;
  width: 79.16666667%;
}
.flex-offset-19 {
  margin-left: 79.16666667%;
}
.flex-order-19 {
  -webkit-box-ordinal-group: 20;
  -webkit-order: 19;
      -ms-flex-order: 19;
          order: 19;
}
.flex-item-20 {
  float: left;
  width: 83.33333333%;
}
.flex-offset-20 {
  margin-left: 83.33333333%;
}
.flex-order-20 {
  -webkit-box-ordinal-group: 21;
  -webkit-order: 20;
      -ms-flex-order: 20;
          order: 20;
}
.flex-item-21 {
  float: left;
  width: 87.5%;
}
.flex-offset-21 {
  margin-left: 87.5%;
}
.flex-order-21 {
  -webkit-box-ordinal-group: 22;
  -webkit-order: 21;
      -ms-flex-order: 21;
          order: 21;
}
.flex-item-22 {
  float: left;
  width: 91.66666667%;
}
.flex-offset-22 {
  margin-left: 91.66666667%;
}
.flex-order-22 {
  -webkit-box-ordinal-group: 23;
  -webkit-order: 22;
      -ms-flex-order: 22;
          order: 22;
}
.flex-item-23 {
  float: left;
  width: 95.83333333%;
}
.flex-offset-23 {
  margin-left: 95.83333333%;
}
.flex-order-23 {
  -webkit-box-ordinal-group: 24;
  -webkit-order: 23;
      -ms-flex-order: 23;
          order: 23;
}
.flex-item-24 {
  float: left;
  width: 100%;
}
.flex-offset-24 {
  margin-left: 100%;
}
.flex-order-24 {
  -webkit-box-ordinal-group: 25;
  -webkit-order: 24;
      -ms-flex-order: 24;
          order: 24;
}
.flex-column.flex-left {
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.flex-column.flex-right {
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.flex-column.flex-top {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.flex-column.flex-bottom {
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
}
.flex-column.flex-center {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.flex-column.flex-middle {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.flex-row.flex-left {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.flex-row.flex-right {
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
}
.flex-row.flex-top {
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.flex-row.flex-bottom {
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.flex-row.flex-center {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.flex-row.flex-middle {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
[class*=flex-item].flex-left {
  margin-right: auto;
}
[class*=flex-item].flex-right {
  margin-left: auto;
}
[class*=flex-item].flex-top {
  margin-bottom: auto;
}
[class*=flex-item].flex-bottom {
  margin-top: auto;
}
[class*=flex-item].flex-center {
  margin-left: auto;
  margin-right: auto;
}
[class*=flex-item].flex-middle {
  margin-top: auto;
  margin-bottom: auto;
}
.flex-sm-show,
.flex-md-show {
  display: none;
}
@media (max-width: 992px) {
  .flex-md {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .flex-md.flex-left {
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .flex-md.flex-right {
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
  .flex-md.flex-top {
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .flex-md.flex-bottom {
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
  .flex-md.flex-center {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .flex-md.flex-middle {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .flex-md [class*=flex-item] {
    width: 100%;
  }
  .flex-md-hide {
    display: none !important;
  }
  .flex-md-show {
    display: -webkit-box !important;
    display: -webkit-flex !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
}
@media (max-width: 768px) {
  .flex-sm {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .flex-sm.flex-left {
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .flex-sm.flex-right {
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
  .flex-sm.flex-top {
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .flex-sm.flex-bottom {
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
  .flex-sm.flex-center {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .flex-sm.flex-middle {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .flex-sm [class*=flex-item] {
    width: 100%;
  }
  .flex-sm-hide {
    display: none !important;
  }
  .flex-sm-show {
    display: -webkit-box !important;
    display: -webkit-flex !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
}
